package com.wanho.qz103.hrsaas.sys.service;

import com.wanho.qz103.hrsaas.commons.exception.ServiceException;
import com.wanho.qz103.hrsaas.commons.query.Page;
import com.wanho.qz103.hrsaas.commons.vo.TableVO;
import com.wanho.qz103.hrsaas.sys.pojos.User;
import com.wanho.qz103.hrsaas.sys.vo.UserInfoVO;
import com.wanho.qz103.hrsaas.sys.vo.UserVO;

import java.util.List;
import java.util.Map;

public interface UserService {
    /**
     * 批量导入 excel表格
     * @param userList
     * @return
     * @throws ServiceException
     */
    boolean importExcel(List<User> userList) throws ServiceException ;

    /**
     * 员工 分页查询
     * @param page
     * @return
     * @throws ServiceException
     */
    TableVO selectPage(Page page) throws ServiceException ;

    /**
     * 获得用户简单信息
     * @return
     * @throws ServiceException
     */
    List<User> getSimple() throws ServiceException ;

    /**
     * 查看 用户详情
     * @param userId
     * @return
     * @throws ServiceException
     */
    UserInfoVO getUserInfo(String userId) throws ServiceException ;

    /**
     * 根据 token 获得用户基本信息
     * @param token
     * @return
     * @throws ServiceException
     */
    UserVO getProfile(String token) throws ServiceException ;

    /**
     * 用户登录
     * @param mobile
     * @param password
     * @return
     * @throws ServiceException
     */
    String login(String mobile,String password) throws ServiceException ;

    /**
     * 修改用户基本信息
     * @param parameterMap  请求所有的参数
     * @return
     * @throws ServiceException
     */
    boolean modify(Map<String, String[]> parameterMap) throws ServiceException ;
}
